package com.medisched.medisched.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 调班记录对象 shiftchange
 * 
 * @author ruoyi
 * @date 2025-05-15
 */
public class Shiftchange 
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 申请人ID */
    private Long applicantId;

    /** 调班对象ID */
    private Long targetUserId;

    /** 调班日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date shiftDate;

    /** 调班原因 */
    private String reason;

    /** 状态：0待审批，1已通过，2已拒绝 */
    private Long status;

    private Date createTime;

    public Shiftchange() {
    }

    public Shiftchange(long serialVersionUID, Long id, Long applicantId, Long targetUserId, Date shiftDate, String reason, Long status, Date createTime) {
        this.id = id;
        this.applicantId = applicantId;
        this.targetUserId = targetUserId;
        this.shiftDate = shiftDate;
        this.reason = reason;
        this.status = status;
        this.createTime = createTime;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setApplicantId(Long applicantId) 
    {
        this.applicantId = applicantId;
    }

    public Long getApplicantId() 
    {
        return applicantId;
    }

    public void setTargetUserId(Long targetUserId) 
    {
        this.targetUserId = targetUserId;
    }

    public Long getTargetUserId() 
    {
        return targetUserId;
    }

    public void setShiftDate(Date shiftDate) 
    {
        this.shiftDate = shiftDate;
    }

    public Date getShiftDate() 
    {
        return shiftDate;
    }

    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public String toString() {
        return "Shiftchange{serialVersionUID = " + serialVersionUID + ", id = " + id + ", applicantId = " + applicantId + ", targetUserId = " + targetUserId + ", shiftDate = " + shiftDate + ", reason = " + reason + ", status = " + status + "}";
    }

    /**
     * 获取
     * @return createTime
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}
